#!/usr/bin/perl
# CCNCore::spool::merge_keys
# Copyright (C) 2006, 2007  Stephane Alnet
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
# 

#
# For more information visit http://carrierclass.net/
#

package CCNCore::spool::merge_keys;
use strict;
use warnings;

use CCNCore::IPC::Ticket;
use CCNCore::Home;
use CCNCore::Scripting;

sub run
{
    my $id = pop;
    my $ip = shift;

    if(defined $ip)
    {
        # This version is used by a manager to merge its locally-generated file.
        CCN::Scripting::exec_command(CCNCore::Home::manager."/lib/CCNCore/bin/bootstrap/merge-keys.sh ".CCNCore::Home::config."/system/$ip/authorized_keys2");
    }
    else
    {
        # This version is used by get-info.pl to merge its locally-generated file.
        CCN::Scripting::exec_command(CCNCore::Home::manager."/lib/CCNCore/bin/bootstrap/merge-keys.sh ".CCNCore::Home::config."/local/spool/shared/authorized_keys2");
    }

    if(defined $id)
    {
        my $t = new CCNCore::IPC::Ticket($id);
        $t->completed();
    }
}
1;